/*
    7-1 约会成功了吗？
2021年9月9日，张三想约一直暗恋了很久的的女生小芳看电影，小芳告诉张三这天没空，可以答应在某年某月某日陪他一起看。
输入一个约会的日期，请你编写程序判断最终张三是否能实现他约会的愿望，若能实现则输出yes，否则输出no。注意，约会不能穿越到2021年9月9日前。

输入样例1:
        2022-7-7
输出样例1:
        yes
输入样例2:
        2022-2-29
输出样例2:
        no
输入样例3:
        2021-2-28
输出样例3:
        no
*/
#include<bits/stdc++.h>
using namespace std;
bool fun(int n){
	if((n%4==0&&n%100!=0)||(n%400==0))
		return true;
	else return false;
}
int main(){
	int year,month,day;
	scanf("%d-%d-%d",&year,&month,&day);
	int flag=1;//标志变量

    /*  判断日期是否在202199之前，这里用的是字符串判断。
        在用字符串判断换时，要注意用统一格式：20210909 或 2021-09-09 都可以，但是202199不可以
    */
	string months=to_string(month);
    //这里是把月份补成两位
    if(months.size()!=2) months='0'+months;
    string days=to_string(day);
    if(days.size()!=2) days='0'+days;
    string temp=to_string(year)+months+days;
	if(temp<="20210909") flag=0;

	if(month>=13||month<=0) flag=0; 
	if(!fun(year)&&month==2){
		if(day>=29)
			flag=0;
	}
	if(day==31){
		if(month==4||month==6||month==9||month==11)
			flag=0;
	}
	if(day>31) flag=0;
	if(fun(year)&&month==2){
		if(day>29)
			flag=0;
	}
	if(flag) cout<<"yes";
	else cout<<"no";
}
